package com.dashu.device.tools.System;

import com.dashu.base.bean.device.System.MemoryBean;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;

/**
 * 内存
 */
public class Memory {


    public static MemoryBean memory() {
        Sigar sigar = new Sigar();

        MemoryBean memoryBean = new MemoryBean();
        try {
            Mem mem = sigar.getMem();
            memoryBean.setTotalMemory((mem.getTotal() / 1024L / 1024L));
            memoryBean.setFreeMemory((mem.getFree() / 1024L / 1024L));
            memoryBean.setUseMemory((mem.getUsed() / 1024L / 1024L));
        } catch (SigarException e) {
            e.printStackTrace();
        }




        return memoryBean;
        // 内存总量
//        System.out.println("内存总量:  " + mem.getTotal() / 1024L + "K av");
//        // 当前内存使用量
//        System.out.println("当前内存使用量:  " + mem.getUsed() / 1024L + "K used");
//        // 当前内存剩余量
//        System.out.println("当前内存剩余量:  " + mem.getFree() / 1024L + "K free");
//        Swap swap = sigar.getSwap();
//        // 交换区总量
//        System.out.println("交换区总量:  " + swap.getTotal() / 1024L + "K av");
//        // 当前交换区使用量
//        System.out.println("当前交换区使用量:  " + swap.getUsed() / 1024L + "K used");
//        // 当前交换区剩余量
//        System.out.println("当前交换区剩余量:  " + swap.getFree() / 1024L + "K free");
    }

}
